C#入门

基础结构

基本的代框架

与之前接触的c++相似,C#代码也是有属于他自己的框架。大体可以将代码分成 四个部分 :引用命名空间、 命名空间、 类、 函数 。

用一个通俗易懂的方法来解释就是,可以把引用命名空间认定为引用一个工具包,类似可以看作c++中的头文件。
命名空间就可以理解成我们自己创造的一个以工程名为名字的工具包。
类就可以理解成工具包里的工具,这个也是默认你的工具包名字的。

也就是说除了引用命名空间外的都是默认工程名。

控制台输入打印基础语句

输出一句话:

1
2
Console.WriteLine("yes"); // 自动换行
Console.Write("NO"); //不会换行

输入内容:

1
Console.ReadLine();

等待输入一行内容,输入回车键后结束输入。

1
Console.ReadKey();

检测是否按键,只要按下任意一个键盘就会直接结束输入。

变量

折叠代码

主要作用是让编程时逻辑更加清晰,他能将

1
2
3
4
5
#region MyRegion  



#endregion

这之间的代码折叠起来,避免代码太过凌乱。
MyRegion 为折叠名称,可以自定义名称。

折叠代码本质上是编辑器提供给我们的预处理指令的工具,只会在编辑时有用。在发布代码后或者执行代码后会被删除。

如何声明变量(参考c++)

变量类型:
1、整型:sbyte、int、short、long。
2、无符号整型(非负数):byte、uint、ushort、ulong、(范围与整型一致,因此正数方面是整型正数方面的二倍
3、浮点数:float(7,8位)、douuble(15,17位)、decimal(27,28位)。
有效数字从左到右第一个非零数开始计算。
申明float的时候要在赋值结尾加上f,因为c#默认下小数是double类型。同理decimal后面加m
4、特殊类型:bool, char, string。
打印过程中可以使用+号进行拼接。不使用引号。

变量的本质

与c++相同,可以使用sizeof来获取变量类型所占的内存空间。

变量的本质就是二进制,就是一堆0和1。原因:数据传输是通过电信号来进行传递的,电信号只有开和关两种,因此这里使用0和1来表示。bit是位,1byte = 8bit ;也就是我们俗称的一个字节8位。

注意2进制和10进制之间的转换。

10转2就是不断模2;
2转10就是从右往左看,最右边的位第0位,如果该位不为0则加上2的n次方位。

变量的命名规范

驼峰命名法

首字母小写,之后的首字母大写。
例如:myName、vsCode、loveYou。

帕斯卡命名法

所有单词首字母都大写(函数,类)。
例如:MyName、YourName。

常量

与c++相同,在变量类型前面加上const前缀即可表示常量。

转义字符

转义字符的使用

转义字符是字符串中一些特殊含义的一部分字符。
例如在字符串中表示“”这种字符。
写法为: \ + 字符。

换行符:与c++一样为 \n 。

斜杠字符: \ \ 。

制表符(空一格tab)与c++一致为: \t 。

光标退格:\b 。

空字符:\0 。

警报音:\a 。字面意思就是程序执行到此处会发出一声计算机自带的警告的提示音。

取消转义字符

在声明一个字符串之前在前面加一个@符号,这样就不会将 \ 表示为转义字符。

1
2
string noZhuanyi = @"4\2";
Console.WriteLine(@"1\2\3");

类型转换

类型转换就是不同变量类型之间的相互转换

隐式转换

大范围装小范围,自动转换。

浮点数可以无脑装整数

显式转换

  • 与c++一致,()强行转换。
  • Parse法:变量类型.Parse(“字符串”)。 其中字符串一定是能够转移成对应的类型,否则会报错。
  • Convert法:更准确的将各个类型的变量类型进行转换。 Convert.To目标类型。
  • 其他类型转string:变量.toString()。

异常捕获

作用:避免当代码报错时,造成程序卡死的情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//必备部分
try
{

}
catch(Exception e)
{

}
//可选部分
finally
{

}

将希望进行异常捕获的代码块放入try中,如果try中的代码出错了,会执行catch中的代码,来捕获异常。
finally表示,最后执行的代码,不管有没有出错都会执行其中的代码。

运算符

与c++完全一致。

字符串拼接

第一种拼接方式

直接使用+号

第二种拼接方式

string.Format (“待拼接内容”, str1, strr2);

带拼接内容用占位符代替{ 数字 }。0 ~ n;